<?php
/* $Id: adMenu.php 37 2007-12-27 03:25:54Z chinello $ */
/**
 * Inicializa a AdPHPGtk, setando constantes e funções necessárias
 *
 * @package 		adphpgtk
 * @version         $Revision: 37 $
 * @modifiedby      $LastChangedBy: chinello $
 * @lastmodified    $Date: 2007-12-27 03:25:54 +0000 (Thu, 27 Dec 2007) $
 */

class adMenu
extends adWidget {

	private $aMenuEstrutura = array();

	public function add($sLabel = 'Novo Menu', $sImagem = '', $aEventos = '')
	{
		$oMenu	=	new adMenu;
		$this->aMenuEstrutura[] =	array(	'label'		=>	$sLabel,
											'imagem'	=>	$sImagem,
											'evento'	=>	$aEventos,
											'submenu'	=> 	& $oMenu->aMenuEstrutura
										);
		return $oMenu;
	}

	public function __destruct()
	{
		echo '<pre>';
		  print_r($this->aMenuEstrutura);
		echo '</pre>';

	}

	public function loadFromArray($aEstruturaMenu = array())	{

		if (count($aEstruturaMenu) > 0) {
			$aMenu	=	$aEstruturaMenu;
		}

		if (count($this->aMenuEstrutura) > 0) {
			$aMenu	=	$this->aMenuEstrutura;
		}

		$this->mount($aMenu);
	}

	private	function mount($aEstruturaMenu)
	{
		if (count($aEstruturaMenu) > 0) {
	    	foreach ($aEstruturaMenu as $iInd => $aInfoMenu) {

		        $sLabel   = $aInfoMenu['label'];
		        $sImagem  = $aInfoMenu['imagem'];
		        $aEvento  = $aInfoMenu['evento'];
		        $aSubMenu = $aInfoMenu['submenu'];

		        if (count($aSubMenu) > 0) {
		          $this->mount($aSubMenu, true);
		        }
	    	}
	    }
	}
}
?>
